home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #141 (1991-10)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #141 (1991-10)(Rhein-Sieg-Soft).adf
/
VD105
/
VD105.DOC
< prev
next >
Wrap
Text File
|
1991-09-26
|
35KB
|
1,076 lines
Dokumentation zu `Vector-Detector 1.0.5`
C 1991 by Matthias Gutt
Inhalt:
1.0 Allgemeine Informationen zu `Vector-Detector`
2.0 Beschreibung der Hauptfunktionen
2.1 Die Vektorentabelle
2.1.1 Feld1 (Capture- und Kick-Vektoren,DoIO-Vektor)
2.1.2 Feld2 (Interrupt-Vektoren, ResModules-Vektor und Supervisor-Stak-Vektors)
2.1.3 Feld3 (Sonstige Systemadressen und LastAlert-Vektor)
2.1.4 Feld4 (Schreiblesekopfposition und Schreibsschutz,Installation RAMIN 1.1)
2.2 Viruscheck im Speicher
2.2.1 Anzeigen von aktiven Viren und löschen dieser
2.2.2 Anzeigen von zerstörten Virus-Strukturen und deren re-installierung
2.3 Diskette auf `File`-Viren untersuchen.
3.0 Optionen
3.1 Diskettenkontrolle
3.1.1 DF0:
3.1.2 DF1:
3.1.3 DF2:
3.1.4 DF3:
3.2 `Hall of Fame`
3.3 `install RAM:`
3.4 Vektoren löschen
3.5 Separate Speicherbereiche auf Veränderungen hin untersuchen.
3.6 Selbstkontrolle des Viruskillers
3.7 Auflisten einer `VIRUS.DOC`-Datei mittels `Vector-Detector 1.0.4`
4.0 Benutzung des Viruskillers
5.0 Sonstiges
1.0 `Allgemeines zu Vector-Detector`
Der Viruskiller `Vector-Detector` ist PD-Software und darf frei weitergegeben
werden.
Hierbei handelt es sich um eine erweiterte Version von `Vector-Detector 1.0.3`
Das Programm wurde mit dem `SEKA v1.5` in Assembler auf einem Amiga 500
(KickStart version 1.2) geschrieben.
Folgenden Serien wurde `Vector-Detector` zum Veröffentlichen angeboten:
`AmigaLibraryDisks`,`FRANZ PD`,`TAIFUN`,`A.U.G.E.`,`BAVARIAN`,`KickStart`,
`GSF PD`,`Jaguar`,`Unicorn-PD` und `!-PD`.
Mein Programm darf prinzipiell auf jeder Diskette veröffentlicht werden.
Sollte ich es jedoch in einem unangemessenem Zustand in einer Serie wieder-
finden, so behalte ich mir das Recht vor eine Veröffentlichung auf dieser
zu untersagen.
Das Programm darf in jeder Serie aufgenommen werden, sofern eine Quellen-
angabe beigefügt ist.
Beachten Sie hierzu bitte die Bestimmungen der einzelnen PD-Hersteller !
Das Programm `Vector-Detector` und die Files `VIRUS.DOC` und `VD104.DOC`
können auch einzeln veröffentlicht werden.
Es ist untersagt eine veränderte Version ohne meine Genehmigung weiterzu-
verbreiten.
Da `Vector-Detector` seine Ausgabetexte nicht codiert beinhaltet, sondern
im ASCII-Format , ist es für mögliche Bösewichte recht einfach die
Ausssagen zu verfälschen ...
So kann beispielsweise aus:
`WARNING !!!`
`BYTE-BANDIT-VIRUS detected in memory !`
`Install your disks`
`Shall I kill the Byte Bandit-Virus (yes/no) ?`
leicht:
`WARNING !!!`
`BYTE BANDIT-Virus detected in memory``
`Install your disks`
`Shall I let exist the Byte-Bandit-Virus (yes/no) ?
gemacht werden oder ähnliches ...
In diesem Falle würden die meisten wohl `no` eingeben und dadurch unebwußt
den Virus bestehen lassen.
Jedem der so eine Manipulation vor hat um einen Bekannten zu ärgern möchte
ich davor abraten, da dieser sicherlich schon zwanzig andere evtl. bessere
Viruskiller hat und diese manipulierte Version an meine Adresse schickt,
damit ich denjenigen dann strafrechtlich belangen kann.
Sie sehen also, daß Veränderungen an diesem Programm verboten sind.
Nur zum eigenen Gebracuh, wenn das Programm nicht weitergegeben wird,
darf es verändert werden.
Jeder der eine veränderte Version erhalten hat möge sie mir zuschicken.
Er bekommt von mir dann die richtige Version.
Aus den oben genannten Gründen, und weil ich nicht genug Zeit habe auch noch
meine PD-Programme in jeder Situation zu checken bzw. nicht genug `Virus-
programme` habe, kann ich für die Fehlerfreiheit meiner Programme
nicht garantieren.
Sollte Sie aber einen Bug oder mehrere in meinen Programmen entdecken,dann
können Sie an die am Ende dieses Files stehende Adresse schreiben.
Dies gilt auch für Verbesserungswünsche .
Mit 36000 Bytes passt `Vector-Detector 1.0.5` wohl nicht mehr ins `c-Verzeichniss
` von fast `randvollen` Disketten.
Das war zwar mein ursprüngliches Ziel mit diesem Programm, da aber nun
größere PD-Programmem mit mehreren Funktionen beliebter sind, war dies
nicht mehr einzuhalten.
Es mag sein, daß einige Routinen umstaändlich programmiert sind, aber leider
habe ich nicht das Wissen und die Informationen, wie die Viruskiller-Profis
es haben.
Sollten Sie also nur an einem kleinen Programm, welches mal eben von der
`startup-sequence` gestartet wird und die wichtigsten Vektoren testet, sowie
die wichtigsten Viren sucht,interessiert sein, dann schreiben Sie mir bitte.
Sie können von mir noch die Version 1.0( 4500 Bytes),1.0.1(4500 Bytes),
1.02.(8000 Bytes) 1.0.3(8000Bytes) erhalten.
Leider hat dieser Viruskiller keine Funktion zum überwachen des Bootblocks.
Die Disketten können nur auf `File`-Viren untersucht werden.
Eine `Bootblock`-Funktion wird es evtl. in einer nächsten Version geben.
Sollten Sie selbst eine `Bootblock`-Funktion geschrieben haben, dann
schicken Sie sie bitte an meine Anschrift.
Ich werde Sie dann im Programm erwähnen !
2.0 `Hauptfunktionen von Vector-Detector 1.0.4`
Wenn Sie nur die Hauptfunktionen des Programmes nutzen wollen, dann starten
Sie es bitte mit dem Namen unter dem es in AmigadOS abgespeichert wurde ohne
Angabe von Optionen.
Danach werden die folgenden Funktionen abgearbeitet:
2.1 `Die Vektorentabelle`
Gleich nach dem Start wird eine ausführliche Tabelle mit ca. 32 SystamAdressen
abgearbeitet.
Diese 32 Adressen sind in vier Felder (`Fields`) eingeteilt.
Am Ende jedem Feldes werden Sie gefragt, ob die Vektoren wieder auf ihre
ursprüngliche Adresse gesetzt werden sollen.
Dabei können Sie die Eingabe mit den Befehlen `yes` und `no` steuern !
Geben Sie diese beiden Worte bitte komplett so ein wie sie hier stehen.
Mit `yes` werden die Vektoren restauriert und mit `no` bleibt alles so
wie es war.
Sie dürfen auf keinem Fall nur `y` oder `n` eingeben !!!
Da das Programm diese Eingaben nicht akzeptiert bzw. falsch interpretiert !
`y` und `n` wären zwar einfacher und kürzer, aber dadurch wird eine
Sicherheitsabfrage erspart.
Bei vielen Programmen sieht das ja dann so aus:
`Do you want start this function ?`
Sicherheistabfrage:
`Do you really want use this function`
etc...
Das jemand ausversehen mit den Fingern auf den Tasten `y` ,`e`,`s` kommt
ist wohl sehr unwahrscheinlich.
Somit wird hier eine Sicherheitsabfrage erspart !
Die Vektoren sollten meistens auf null bzw. auf ihre Systemadresse zeigen.
Ansonsten besteht Viusgefahr.
Nun muß ja nicht unbedingt jeder Anwender wissen, auf welche Adresse welcher
Vektor zeigen muß, damit alles o.k. ist.
Und damit Sie sich auch nicht gleich Bücher zum Betriebssystem des Amigas
kaufen müßen um zu wissen, welcher Vektor auf welche Adresse zeigen muß,
habe ich eine spezielle Funktion ins Programm eingebaut.
Solange die Zeiger auf null oder die eigentliche Adresse zeigen, wird
diese in hexadezimal angegeben.
Wurde der Zeiger verändert so steht an dieser Stelle dann:
` ... is not pointing at zero!`
Kommt diese Meldung, dann wissen Sie, daß ein Zeiger verändert wurde !
2.1.1 Feld1:
In diesem Feld werden die sieben wichtigen System-Vektoren angezeigt !
Eine Veränderung dieser bedeutet fast immer ein Virus !
Diese Zeiger sollten immer auf null gesetzt sein.
Die Vorgängerversionen von `Vector-Detector` hat diesen Zeiger automatisch
gelöscht !
Ich arbeite nur mit einigen `PD`-Programmen.
Es mag aber sein, daß viele Anwender auch kommerzielle Programme haben,die
die diese Zeiger benutzen um Resefest zu bleiben !
Deshalb werden Sie auch gefragt, ob diese Zeiger wieder auf null gesetzt
werden sollen !
`ColdCapture`-Vektor:
Dieser Vektor dient für den Einsprung in die `Reset`-Routine.
Hierbei handelt es sich um Programme, die nach jedem `Reset` gestartet und
abgearbeitet werden.
Steht hier eine Adresse, dann wird dieses Programm an dieser Adresse abge-
arbeitet.
Allerdings muß ein derartiges Programm die Routine wieder mit
`JMP A5` verlassen.
Das System ist an dieser Stelle weitestgehend nicht initialisiert,weshalb
die Arbeit mit diesem Vektor schwierig sein dürfte.
Auch Viren sind natürlcih darann interessiert nach einem `Reset` gestartet
zu werden, da sie so gleich den `Bootblock` infizieren können.
Allerdings kenne ich keinen Virus, welcher diesen Vektor benutzt.
`CoolCapture`-Vektor:
Dieser Vektor funktioniert ähnlich wie `ColCapture`, bloß das daß System
hier viel einfacher zu Handhaben ist.
Hier kann wieder relativ normal gearbeitet werden.
Ca. 60% der Viren benutzen diesen Vektor als Einsprungadresse für sich
selbst.
Deshalb sollten Sie auf diesen Zeiger besonders achten !!
`WarmCapture`-Vektor:
Dieser Vektor funktioniert ähnlich wie die beiden vorrangegangenen Capture-
Vektoren.
Allerdings wird dieser Vektor z. Zt. nicht mehr genutzt.
Befand sich eine Adresse in einem der Capture-Vektoren, die gelöscht wurde,
dann werden Sie beim Rebooten feststellen, daß ein dunklerer `Grauton`
mehr vor dem Titelbild auf Ihrem Bildschirm aufblinkt.
`KickMemPtr`-Vektor:
Dieser Zeiger zeigt, wenn er nicht auf null zeigt auf eine Liste von
`Memory`-Strukturen, die nach dem Reset eingebunden werden sollen.
Dieser Zeiger kann evtl. für Betriebssystemerweiterungen im Speicher ge-
nutzt werden.
Mir ist kein Virus bekannt, welcher diesen Zeiger benutzt.
`KickTagPtr`-Vektor:
Der Vektor zeigt auf eine Liste von `RomTags` bzw. Betriebssystem-Segmenten,
die nach dem Reset eingebunden werden sollen.
Dieser Zeiger eignet sich auch besonders gut für kleinere Programme
(1000 Bytes) wie beispielsweise `Bootblock-Viren`.
Auch auf diesem Zeiger sollten Sie achten, da etwa 40% aller Viren ihn für
sich selbst nutzen.
`KickTagPtr` sollte daher immer auf null zeigen.
`KickCheckSum`:
Hierbei handelt es sich um keinen eigentlichen Zeiger, sondern nur um eine
Prüfsumme der Werte von `KickMemPtr` und `KickTagPtr`.
Wurde also eine dieser beiden Adressen belegt wird ein entsprechender
Wert in `KickCheckSum` abgelegt.
Diesen Wert erhält man durch Aufruf der Funktion `SumKickData`.
`DoIO`:
Dieser Vektor dient den Viren nicht dazu den Reset zu überstehen,
sondern ihnen die Möglichkeit einens Diskettenzugriffs zu
erhalten.
Sobald Sie eine neue Diskette in Ihr Laufwerk legen, wird hard-
waremäßig der `DoIO`-Vektor angesprungen.
In ihm steht einen Adresse, die im Normalfall auf das Betriebs-
system (`ROM`) zeigt.
Dort steht dann eine Routine, die die Disketten einliest und
Daten aus deren `Rootblock` übernimmt.
Beim Kickstart 1.2 steht diese Routine bei $00FC06DC und beim
Kickstart 1.3 steht sie bei $00FC0718.
Da sich die Kickstarts des Amigas bald noch schneller als das
Wetter wechseln, ist es nicht all zu einfach einen Viruskiller
zu schreiben, der auf allen Betriebssystem läuft ...
Viren verbiegen diesen Vektor auf ihre eigene
Programmstruktur ,um sich wärend jeden Disk-Wechsels weiterzu-
kopieren.
Welche Viren dies tuen steht in der `Virus-Dokumentation`.
Sollte dieser Vektor also unter den oben genannten
Betriebssystemen auf eine anderen Adresse zeigen, dann ist
höchstwahrscheinlich ein Computervirus in Ihrem System !!
2.1.2 `Feld2`:
In diesem Feld werden die Adressen der 16 Interrupt-Vektoren, sowie die
obere und untere Grenze des `Supervisor-Stacks` und der `ResModules`-vektor
angezeigt.
Diese Werte sind nicht mehr allzu wichtig, um Viren aufzuspüren.
Trotzdem kann es vorkommen, daß Virus-Programme auch die Interrupt-Vektoren,
oder den `ResModules`-Vektor benutzen.
An einer Veränderung des `SupervisorStacks` lassen sich ebenfalls Viren
aufspüren.
Sicher benutzen auch seriöse Programme diese Vektoren.
Zum Aufspüren neuer `File`- und `Link`-Viren eignet sich auch diese
Funktion.
Vor allem wenn gleich nach dem Booten diese Zeiger verändert wurden besteht
die Möglichkeit einer Virus-Infektion.
Das Programm `RAMIN` welches auch in `Vector-Detector` eingebaut ist benutzt
beispielsweise den Interrupt 3(SOFTINT-Vektor).
Das PD-Programm `Gag` benutzt ebenfalls diesen Vektor.
Am Ende des Feldes werden Sie gefragt, ob die Zeiger auf Ihre alte Adresse
gesetzt werden sollen.
Die obere und untere Grenze des `SupervisorStacks` dient nur zur Kontrolle
und kann nicht verändert werden.
Um Viren entgültig zu löschen, welche mit einem Interrupt-Programm die
System-Vektoren neu setzen eigent sich das oben erwähnte Programm
`RAMIN`.
Stellen sie aber an dieser Stelle die Zeiger wieder auf ihre alte Adresse,
so wird auch `RAMIN` gelöscht.
Restaurieren Sie die Vektoren von `Feld2` nie, wenn nachdem letzten Reset
ein `Gadaffi`- oder `MAD II`-Virus entdeckt wurde !!
Ich hoffe, daß die Systemadressen, auf die diese Vektoren zeigen bei allen
AMIGAs gleich sind und nicht nur für die Version 1.2 des Betriebssystems
gelten.
Zeigt ein Zeiger nicht auf seine eigentliche Adresse, meldet das Programm:
`... is not pointing at zero`.
Das ist ein klares Indiz dafür, daß ein Programm diese Vektoren verändert hat.
Es folgt nun eine Liste der Zeiger von `Feld2` mit den normalen Standard-
werten auf die sie zeigen:
Interrupt 1 TBE-Vektor $00FC07F8
Interrupt 2 DSKBLK-Vektor $00FC07F8
Interrupt 3 SOFTINT-Vektor $00FC0CD8
INterrupt 4 PORTS-Vektor $00FC0E04
Interrupt 5 COPER-Vektor $00FC07FC
Interrupt 6 VERTB-Vektor $00FC0802
Interrupt 7 BLIT-Vektor $00FC0808
INterrupt 8 AUD0-Vektor $00FC080E
Interrupt 9 AUD1-Vektor $00FC0814
Interrupt 10 AUD2-Vektor $00000000
Interrupt 11 AUD3-Vektor $00000000
Interrupt 12 RBF-Vektor $00000000
INterrupt 13 DSKSSYNC-Vektor $00000000
Interrupt 14 EXTER-Vektor $00000000
Interrupt 15 INTEN-Vektor $00000000
Interrupt 16 NMI-Vektor $00000000
Der `ResMdoules`-Vektor sollte immer auf $00001C00 zeigen.
Die obere Grenze des `SupervisorStacks` sollte bei $00080000 liegen und die
untere Grenze bei $0007E800.
`TBE`:
Zeiger für serielle Interrupts.
`DSKBLK`:
Zeiger auf das Ende der Übertragung eines Diskblocks.
`SOFTINT`:
Zeiger auf einen Software-Interrupt.
`PORTS`:
Zeiger für einen Interrupt am CIA-A.
`COPER`:
Zeiger auf einen Copper-Interrupt.
`VERTB`:
Zeiger für den Vertikal Blank Interrupt.
Dieser Interrupt wird asugelöst, wenn der Rasterstrahl die Zeile null
erreicht hat.
`BLIT`:
Zeiger auf einen Blitter-Task.
`AUD0`:
Zeiger auf einen Audio-Interrupt von Kanal 0.
`AUD1`:
Zeiger auf einen Audio-Interrupt von Kanal 1.
`AUD2`:
Zeiger auf einen Audio-Interrupt von Kanal 2.
`AUD3`:
Zeiger auf einen Audio-Interrupt von Kanal 3`.
`RBF`:
Zeiger auf einen Interrupt für serielle Eingabe.
`DSKSYNC`:
Zeiger auf Interrupt zur Synchronisation der Diskette.
`EXTER`:
Zeiger auf Interrupt am CIA B`.
`INTEN`:
Zeiger auf einen softwaremäßig ausgelösten Interrupt.
`NMI`:
Zeiger auf einen `Nich Maskierten Interrupt`.
`SysStackUpper`:
Zeiger auf die obere Grenze des `Supervisor-Stacks`.
`SysStackLower`:
Zeiger auf die untere Grenze des `Supervisor-Stacks`.
`ResModules`:
Zeiger auf eine Struktur ,die nach dem `Reset` eingebunden werden soll !
2.1.3 `Feld3`:
In diesem Feld befinden sich sechs weitere System-Adresse, die von der
Priorität aber noch geringer eingeordnet werden können.
Eine Veränderung dieser Adressen mit Ausnahme des `LastAlert`-Vektors deutet
nicht immer auf einem Virus hin.
Diese Adressen sind aber besonders interessant, wenn Sie nach dem Booten
kontrolliert werden.
Eventuelle `Bootblock`-Programme können hiermit aufgespürt werden.
Am Ende dieses Feldes werden Sie danach gefragt, ob der`LastAlert`-Vektor
auf seine alte Adresse gesetzt werden soll oder nicht.
Es folgt eine Beschreibung der sechs Vektoren:
`LowMemCheckBase`:
In dieser Speicherstelle steht eine Prüfsumme über die Werte von `SoftVer`
bis `MaxExtMem` aus der `ExecBase`-Struktur.
In der `ExecBase`-Struktur befinden sich ebenfalls viele wichtige Zeiger.
Wurde an diesem Teil der `ExecBase`-Struktur etwas verändert merken Sie das
an einer veränderten Prüfsumme !
Die `LowmemCheckSum` zeigt normaler Weise immer auf $000000FC.
Diese Speicherstelle kann das Programm nur anzeigen und nicht verändern.
`ChkBase`:
Bei dieser Adresse handelt es sich um ein Komplement der Basisadresse.
Dieser Wert muß immer $07EA00FC ergeben.
Ist dies nicht der Fall wird die Struktur der ExecBase vom Betriebssystem
komplett neuerstellt.
Das Programm kann diesen Wert nur anzeigen, aber nicht verändern.
Auch die Adresse der `ChkBase` kann als mögliches Indiz für das Einfringen
von Virusprogrammen dienen.
`MaxExtMem`:
Dieser Wert zeigt auf die obere Grenze des zur Verfügung stehenden Speichers.
Das Programm kann diesen Wert ebenfalls nicht ändern, sondern nur anzeigen.
Eine Veränderung kann ebenfalls auf einen Virus hindeuten.
`ChkSum`:
Diese Adresse beinhaltet einen Wert ,der auf eine Prüfsumme über den selben
Bereich wie `ChkBase` zeigt.
An dieser Stelle sollte immer $00007F8 stehen.
Das Programm kann diesen Wert ebenfalls nicht ändern.
Die Prüfsumme wird vom Betriebssystem nach dem `Reset` neu berechnet.
`LastAlert`:
In dieser Speicherstelle stehen die Daten für einem nach einem `Reset`
darzustellenden `Alert`.
Bei `Alerts` handelt es sich um Betriebsssystem-Meldungen.
Da es nicht auszuschließen ist, daß Viren diesen Zeiger auf Ihrer eigene
Adresse verbiegen, überwacht das Programm diese Stelle.
Abschließend werden Sie gefragt, ob wieder die alte Adresse eingetragen
werden soll.
Dieser Zeiger sollte auf $32540000 zeigen.
2.1.4 `Feld4`:
An dieser Stelle kontrolliert das Programm die Position des Schreib/Lese-
kopfes des aktuellen Laufwerks.
Sie werden informiert, ob der Schreib-Lesekopf auf Spur 0 zeigt oder nicht.
Auf Spur 0, am aüßeren Rand der Diskette befindet sich auch der Bootblock.
Versuchen Viren sich auf den Bootblock zu kopieren, so werden sie informiert.
Übrigens funktionieren `Bootblock`-Viren von zerstörten Disketten fast
immer, auch wenn alle anderen Programme nicht mehr zu laden sind.
Denn bevor ein evtl. zerstörter `RootBlock` gelesen wird, wird zuerst
das Programm im `Bootblock` gestartet.
Somit ist auch Vorsicht im Umgang mit zerstörten evtl. virus-infizierten
Disketten geboten.
Anschließend prüft das Programm noch, ob die Diskette im aktuellen Lauf-
werk schreibgeschützt ist.
Denn der beste Schutz gegen Viren ist immer noch eine schreibgeschützte
Diskette.
Gerüchte nach denen Viren sich auf schreibgeschützte Disketten kopieren
können sollte man nicht trauen.
Von den 21 `Boot-Viren`, die mein Viruskiller erkennt, weiß ich das sie sich
nicht auf schreibgeschützte Disketten kopieren können.
Als ich kurz nachdem ich mir den Amiga kaufte den `DiskDoktors`-Virus
im System hatte, hatte dieser sich auf 7 von 70 Disketen ausgebreitet.
Obwohl ich den Virus schon länger im System gehabt haben mußte befiel
er nicht allzu viele Disketten, da ich den Schreibschutz benutzte.
Auf jedem Fall sollte man nur mit schreibgeschützten Disketten `booten`.
Hiernach werden Sie gefragt, ob ein Interrupt-Programm im Speicher
installiert werden soll !
Dieses Programm setzt folgenden Vektoren 50 x in der Minuta auf null
bzw. auf die alte Systemadresse
und schützt Sie somit vor den meisten Viren bis zum nächsten `Reset`:
- ColdCapture
- CoolCapture
- WarmCapture
- KickMemPtr
- KickTagPtr
- KickCheckSum
- DoIo
- TBE
- DSKBLK
- PORTS
- COPER
- VERTB
- BLIT
- AUD0
- AUD1
- AUD2
- AUD3
- AUD3
- RBF
- DSKSYNC
- EXTER
- INTEN
- NMI
- ResModules
- LastAlert
2.2 `Viruscheck des Speichers`
Nach der Vektorenkontrolle sucht der Viruskiller noch nach 27 bekannten
Viren im Speicher:
`Byte Bandit`,`Byte Warrio`,`Gadaffi`,`SCA`,`North Star`,`North Star II`,
`HCS`,`Pentagob-Slayer`,`LSD`,`Revenge`,`DiskDoktors`,`Lamer-Exterminator II`,
`TimeBomb`,`2001`,`MAD`,`MAD II`,`MAD III`,`MAD IV,`AIDS`,`Vkill
-VIRUS` ,`16 BIT Crew`,`BG9`,`ByteParasite`,`CCCP`,SADDAM`,
`Smily Cancer`.
Genauere Informationen zu diesen Viren finden Sie in der `Virus-Dokumentation`.
Die Viren `DiskDoktors`,`Lamer-Exterminator II`,`MAD IV` und
`SADDAM` können nur ange-
zeigt, aber nicht bzw. nicht vollständig gelöscht werden.
Benutzen Sie in diesem Falle also einen anderen Viruskiller .
Im Gegensatz zu vielen anderen Viruskillern kann `Vector-Detector` auch
zerstörte Viren im Speicher aufspüren.
Bei den Vorgängerversionen wurde aber nicht zwischen aktiven und deaktiven
Viren unterschieden, so daß der Anwender an Hand der System-Vektoren selbst
erkennen mußte, ob ein aktiver Virus im Speicher ist oder nicht.
Da dies einige Anwender etwas durcheinander gebracht haben könnte,
habe ich diese Version jetzt erweitert.
Das Programm unterscheidet nun zwischen aktiven Viren und zerstörten Virus-
Strukturen.
2.2.1 `Anzeigen aktiver Viren und löschen dieser`
Hat `Vetor-Detector` einen Virus im Speicher entdeckt, so gibt es eine
entsprechende Meldung aus und fragt sie, ob es den Virus löschen soll
oder nicht.
Tippen Sie `yes` ein, damit der Virus aus dem Speicher entfernt wird oder
`no` um ihn bestehen zu lassen.
Das Programm erkennt übrigens auch einige Versionen des `SystemZ`-Virus-
protectors.
Hat das Programm einen Virusprotector im Speicher entdeckt so erkennen Sie
dies darann, das die POER-LED ausgeht.
2.2.2. `Anzeigen zerstörter Virus-Strukturen und löschen dieser`
`Vector-Detector` kann auch zerstörte Viren anzeigen und sie `wiederbeleben`.
Nach einer entsprechenden Meldung fragt Sie das Programm, ob Sie den
Virus wieder aktivieren wollen oder nicht.
In den meisten Fällen werden Sie wohl `no` für nein eintippen.
Es kann aber sein, daß Sie zum experimentieren einen zeitweilig ausgeschalteten
Virus wieder einschalten wollen.
Gehen Sie aber vorsichtig mit dieser Funktion um, und probieren Sie Viren
nur an unwichtigen Disketten aus.
Nach dem `Reset` sind die Viren dann wieder funktionsfähig.
Wenn Sie aber vorher das Interrupt-Programm `RAMIN` installiert haben,
werden die Vektoren immer wieder gelöscht und die Viren werden nicht
funktionieren.
In diesem Falle müßten Sie das Programm noch einmal starten und in `Field2`
die Zeiger restaurieren, um den Interrupt zu löschen.
Folgende Viren können übrigens nicht wieder `re-installiert` werden, wenn
sie vorher von `Vector-Detector` selbst gelöscht worden sind:
`Byte Bandit`,`Byte Warrior`,`Gadaffi`,`Revenge`,`MAD II`,
`MAD III`,`VKill-VIRUS`.
2.3 `Diskette auf File-Viren untersuchen`
Nachdem das Programm den Speicher durchgecheckt hat kontrolliert es die
Diskette im aktuellen Laufwerk und gibt eine Warnung aus wenn es bekannte
`File`-Viren gefunden hat und löscht diese.
Das Programm erkennt zur Zeit nur die beiden Varianten des `Revenge of the
Lamer-Exterminator`-Viruses und den `BGS9`-Virus.
Übrigens können Sie diese Viren auch im Direktmodus in AmigaDOS mittels
`Vector-Detector` löschen.
Geben Sie einfach `VD104 b` ein, um den `BGS9`-Virus zu löschen,
`VD104 l`, um den unsichtbaren `File`-Virus von RLE zu löschen, oder
`VD104 r`, um das als Programm getarnte `DosSpeed`-RLE-Virus zu löschen.
Anschließend sollten Sie noch mittels des `ed` beispielsweise die
`unsichtbaren` Aufrufe aus der `startup-sequence` löschen.
Setzen Sie hierzu den Cursor an die erste leere Stele der `startup-sequence`
und tippen Sie fünf mal beim `RLE`-Virus und 16 mal beim `BGS9`-Virus die
`Backspace`-Taste.
3.0 `Optionen`:
Außer den Hauptfunktionen, die Sie durch Starten des `Vector-Detectors`
unter seinem Namen ansteuern können, schlummern in diesem Programm einige
andere wichtige Funktionen, die Sie direkt aufrufen können, indem Sie
zusätzlich zum Namen des Programmes eine Option angeben.
Hier folgt nun eine Liste der Optionen und der Programme die dadurch
aufgerufen werden können:
`VD104 0` checkt aktuelle Diskette in DF0:
"VD104 1" checkt aktuelle Diskette in DF1:
`VD104 2` checkt aktuelle Diskette in DF2:
`VD104 3` checkt aktuelle Diskette in DF3:
`VD104 Hof` listet die `Hall of Fame` auf
`VD104 i` installiert `RAMIN 1.1`
`VD104 k` löscht Vektoren
`VD104 m` checkt separate Speicherbereiche
`VD104 o` checkt sich selbst
`VD104 v` listet ein `VIRUS.DOC`-File auf
3.1 `Diskettenkontrolle`:
Durch Angabe einer Ziffer von 0-3 als Option läßt sich die Diskette in den
Laufwerken `DF0:`,`DF1:`,`DF2:` oder `DF3:` auf `File`-Viren checken.
Sie brauchen dann nur die entsprechende Diskette einzulegen und sie
wird automatisch gecheckt.
Findet das Programm einen bekannten `File`-Virus, so gibt es eine Meldung
aus und löscht diesen.
Findet es keinen Virus wird keine Meldung ausgegeben.
Um das Programm wieder zu verlassen, brauchen Sie nur die linke Maustaste
zu drücken.
Manchmal kann es ein paar Sekunden dauern bis das Programm wieder zur
bearbeitenden Ebene zurückspringt.
Notfalls drücken Sie die Taste einfach noch einmal.
Da ich selbst nur ein internes Laufwerk habe und auch keine `File`-Viren
besitze,weiß ich nicht, ob diese Funktion bei allen vier Laufwerken
funktioniert.
Ich meine aber, da es bei `DF0:` funktioniert, dürfte es bei den anderen
Laufwerken auch funktionieren.
3.1.1. `DF0:`
Wenn Sie das Programm mit `VD104 0` starten wird die Diskette im Laufwerk 0
auf Viren untersucht.
3.1.2 `DF1:`
Wenn Sie das Programm mit `VD104 1` starten wird die Diskette im Laufwerk 1
auf Viren untersucht.
3.1.3 `DF2:`
Wenn Sie das Programm mit `VD104 2` starten, dann wird die Diskette im Laufwerk 2
auf Viren untersucht.
3.1.4 `DF3:`
Wenn Sie das Programm mit `VD104 3` starten, dann wird die Diskette im Laufwerk3
auf Viren untersucht.
3.2. `Hall of Fame`
Geben Sie wenn Sie das Programm von AmigaDOS beispielsweise starten als
Option `VD104 Hof` ein, dann wird dieser Programmteil angesteuert !
`hall of Fam` listet alle Viren, deren Species, sowie deren Schwierigkeits-
grad, auf die vom Viruskiller erkannt werden.
Die Ausgabe geschieht auf ein `DOS`-Fenster.
Um wieder zum CLI zurückzukehren drücken Sie bitte die linke Maustaste !
3.3. `install ram:`
Wenn Sie im CLI beim Aufruf von `Vector-Detector ` `VD104 i` angeben, so
erscheint ein kleines `intuition`-Fenster und das interne Interrupt-
Programm `RAMIN 1.1` wird gestartet.
Es überwacht 50 mal in der Sekunde folgende Vektoren:
- ColdCapture
- CoolCapture
- WarmCapture
- KickmemPtr
- KickTagPtr
- KickCheckSum
- DoIo
- TBE
- DSKBLK
- PORTS
- COPER
- VERTB
- BLIT
- AUD0
- AUD1
- AUD2
- AUD3
- RBF
- DSKSYNC
- EXTER
- INTEN
- NMI
- ResModules
Das Programm steht bis zum `Reset` im Speicher und ist danach wieder ge-
löscht.
Haben Sie dieses Programm im Speicher installiert, so kann sich beispiels-
weise bei der Arbeit im `CLI` oder `AmigaDOS` kein neuer `File`- oder
`Link`-Virus resetfest in den Speicher schreiben.
Manche andere Viruskiller, zeigen zwar eine Änderung der Vektoren an und
löschen diese, aber es gibt immer häufiger Virusprogramme, die ebenfalls
Interrupts verwenden, um Ihre Zeiger mehrmals zu setzen.
Gegen solche Programme sind derartige Viruskiller machtlos.
Solange aber `RAMIN` im Speicher ist kann sich kein Programm `resetfest`
schreiben.
Drücken Sie zum Abschluß das `CloseGadget` des `intuition`-Fensters, um
wieder ins `CLI` zu gelangen.
Wenn Sie beim Benutzen der Hauptfunktion die Zeiger von `Feld2` restaurieren,
wird `RAMIN 1.1` wieder aus dem Speicher entfernt !
3.4. `Vektoren löschen`:
Geben Sie im `CLI` `VD104 k` ein, um dieses Programm zu starten !
Nach dessen Aufruf wird ein `intuition`-Fenster eröffnet und die Adressen
in den `Capture`- und `Kick`-Vektoren werden auf null gesetzt !
Um wieder ins `CLI` zu gelangen klicken Sie bitte das `CloseGadget` des
Fensters an.
3.5 `Separate Speicherbereichre auf Veränderungen
checken `
Geben Sie `VD104 m` im `CLI` ein, um dieses Programm zu starten.
Es wird ein `intuition`-Fenster geöffnet und der Speicherbereich von
$70000 - $7ff00 und $94100 - $9a000 stichprobenartig auf Veränderungen
gecheckt.
Bisher habe ich alle Viren in diesen Bereich gefunden.
Allerdings verwenden auch einige andere Programme diesen Speicherbereich.
Nachdem `Ausschalten jedenfalls sind diese Bereiche leer.
Je länger Sie jedoch den Amiga eingeschaltet haben und je mehr Programme
Sie benutzt haben, desto größer ist die Möglichkeit, daß ein seriöses
Programm diese Bereiche belegt hat.
Sind Sie sich bei einer Diskette trotz genauerster Untersuchungen nicht
sicher, ob doch ein Virus vorhanden ist, dann schalten Sie den Amiga am
besten aus, danach wieder ein und benutzen die verdächtigen Programme,
bzw. `Booten` die Diskette.
Anschließend können Sie sich mit dieser Option vergewissern, ob diese
Speicherbereiche belegt worden sind.
Doch muß dies nicht immer ein Virus bedeuten.
Sie sollten sich auch die Anleitungen zu diesen Programmen genauestens durch-
lesen.
Gibt `Vector-Detector` die Meldung aus:
`Memory from xxxx is not clear`
,dann befindet sich etwas im Speicher.
Gibt es hingegen die Meldung aus:
`memory from xxxx is clear`
,dann ist dieser Bereich nicht belegt.
Um von dieser Option wieder ins `CLI` zu gelangen klicken Sie bitte das
`CloseGadget` des `intuition`-Fensters.
3.6 `Selbstkontrolle des Viruskillers`
Starten Sie `Vector-Detector` mit `VD105 o`, um dieses Programm zu aktivieren.
Mit der Funktion `own` checkt der Viruskiller sich selbst.
Allerdings funktioniert dieses Programm nur, wenn der Viruskiller unter
seinem eigentlichen Namen abgespeichert wird.
Es wird ein `DOS`-Fenster eröffnet und der Binär-Code des Programms ange-
zeigt, was allerdings nicht viel aussagt.
Sollte sich aber ein`Link`-Virus eingeschmuggelt haben, so können Sie dies
vielleicht an verdächtigen Texten wie:
`Hi` Im the xy-Virus ...`
erkennen.
Doch leider codieren auch die meisten `Link`-Viren ihre Texte.
Abschließend checkt das Programm noch seine Länge.
Ist das Programm größer als 36500 Bytes, so wird eine Warnung ausgegeben.
In diesem Falle schicken Sie das Programm bitte an meine Adresse, um eine
neue Version zu bekommen.
Wie Sie sehen gibt es da noch etwas 500 Bytes Spielraum für `Link`-
Viren.
Leider ist diese Funktion nicht besonders genau.
Um wieder ins `CLI` zu kommen drücken Sie bitte die linke Maustaste.
3.7 `Auflisten der `VIRUS.DOC`-Datei mittels `VD104`
Wenn Sie sich meine `Virus-Dokumenntation` anschauen wollen, dann können
Sie dies auch mit dem `Vector-Detector`.
Geben Sie hierzu einfach `VD105 v` ein.
Wenn sich die Datei unter dem Name `VIRUS.DOC` im selben Verzeichnis befindet,
so können Sie jetzt über ein `DOS`-Window des Viruskillers einiges über
Viren lesen.
Diese Funktion ist beispielsweise recht nützlich, wenn Sie sich `Vector-
Detector` und `VIRUS.DOC` auf Ihre `Workdisk` kopiert haben.
Finden Sie mal einen Virus, so können Sie sich anschließend gleich einiges
über ihn durchlesen.
Natürlich können Sie auch andere Dateien anstelle von `VIRUS.DOC` durchlesen.
Aber diese müßen dann den gleichen Namen haben und im ASCII-Format abge-
speichert sein.
Sollte sich die Datei in einem anderen Verzeichnis befinden, dann können
Sie die entsprechende Stelle im Viruskiller auch patchen.
Allerdings, darf diese dann manipulierte Version von `Vector-Detector` nicht
mehr weitergegeben werden.
4.0 `Benutzung des Viruskillers`:
Im allgemeinen ist zu empfehlen, daß Sie sich den `Vector-Detector` auf
jede Diskette kopieren, die Sie schützen wollen.
Den Aufruf schreiben Sie mittels `ed` oder eines anderen Editors in die
`startup-sequence`.
Ansonsten müßen Sie von Fall zu Fall selbst entscheiden, wann es angebracht
ist welche Unterfunktion zu benutzen.
Näheres steht in den Beschreibungen der Unterfunktion selbst.
Wenn Sie sich die lange Tortur mit dem Durcharbeiten der einzelnen Vektoren-
Felder ersparen wollen, dann können Sie beispielsweise das Programm auch
mit `VD104 i` aufrufen, um gleich `RAMIN 1.1` zu installieren, oder
Sie können es mit `VD104 k` aufrufen, um nur die sehcs wichtigen `System-
Vektoren` zu löschen.
Bei Disketten-Neuzugängen empfiehlt es sich die Laufwerksfunktionen zu
nutzen, um die Disketten auf ein paar `File`-Viren zu chekcen.
Von Vorteil ist hierbei, daß Sie nur die Disketten einlegen brauchen und
etwa nicht ganze Verzeichnisse durchstöbert werden müßen.
Der Nachteil ist, daß eben nur zwei bzw. drei `File`-Viren, die allerdings
weit verbreitet sind , erkannt werden.
Im Gegensatz zu allen alten Version dieses Programmes kann
`Vector-Detector` nun auch von der `Workbench`-Oberfläche ge-
startet werden !!
5.0 `Sonstiges`:
Sollten Sie selbst neue `Boot`-,`File`- oder `Linkviren` erhalten haben,
so bitte ich Sie sie mir im Interesse der `AMIGA`-Allgemeinheit zu zusenden.
Sie können die Viren als `Files` abspeichern.
Wenn sie einen `Bootblock`-Virus nicht abspeichern können reicht es mir auch,
wenn Sie die Diskette deutlich gekennzeichnet mir zusenden.
Bei `File`- und `Linkviren` wäre es gut, wenn Sie mir nur ein betroffenes
Programm zusenden würden und nicht ein volles Directory.
Ich werde Sie dann in meiner `Virus-Dokumentation` erwähnen und Ihnen die
bisher neueste Version zuschicken !
Da sich die Betriebssysteme des Amigas leider so schnell
ändern und erneuern, sind einige recht nützliche Funktionen
dieses Viruskillers im zum Verhängnis geworden !
Denn statt irgendwelche Listen von Hexadezimal-Adressen anzu-
zeigen, kann `Vector-Detector` dem Anwender gleich erkennen
lassen welche Zeiger `unnormal` verbogen sind indem er die
Meldung: `... is not pointing at zero!` ausgibt !
Doch leider sind die Adressen der 16-Interrupt-Vektoren,
des `DoIO`-Vektors und evtl. weitere Adressen nicht alle
gleich auf den verschiedenen AMIGA`s !
Wenn `Vector-Detector` die Interrupt-Adressen aus `Field2`
auf die alten Positionen setzen soll und das bei einem
anderen Betriebssystem als 1.2 kann dies der sichere Weg zum
nächsten `Guru` sein ...
Deshalb bitte ich Sie mir evtl. Listen der Interrupt-Adressen
etc. untern einem anderen Betriebssystem als 1.2 zu zusenden.
Egal .ob Sie mit einem Kickstart -0.5 oder 5.8 erbeiten ...{?}
Dafür werde ich Sie dann auch im Programm direkt erwähnen !
Matthias Gutt
Kantstr.16
W-2120 Lüneburg